home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-10-01 | 1.5 KB | 29 lines |
- 10 DEF SEG =0 'point to address zero
- 20 OFFSET1=30*4 'point to disk table address
- 30 TBLSEG=PEEK(OFFSET1+3)*256 + PEEK(OFFSET1+2) 'get disk table segment
- 40 IF TBLSEG < 61440 THEN SYSTEM 'table is in RAM already!
- 50 TBLDISP=PEEK(OFFSET1+1)*256 + PEEK(OFFSET1) 'get disk table displacement
- 60 RAMSEG = 0 'IBM put the DOS 1.1 disk
- 70 RAMDISP = (5*16+7)*16 ' table in RAM @ 0000:0570h
- 80 DEF SEG = RAMSEG
- 90 FOR I = 0 TO 10
- 100 IF PEEK(RAMDISP+I) <> 0 THEN SYSTEM 'make sure nothings there yet
- 110 NEXT I
- 120 FOR I = 0 TO 10
- 130 DEF SEG = TBLSEG 'point to ROM disk table
- 140 BYTE = PEEK(TBLDISP+I) 'get each table entry
- 150 DEF SEG = RAMSEG ' point to new disk table
- 160 POKE RAMDISP+I,BYTE ' and move it in
- 170 NEXT I
- 180 DEF SEG = 0 'update address of disk table
- 190 BYTE = INT(RAMSEG/256) 'segment high order byte
- 200 POKE OFFSET1+3,BYTE
- 210 BYTE = RAMSEG - BYTE*256 'segment low order byte
- 220 POKE OFFSET1+2,BYTE
- 230 BYTE = INT(RAMDISP/256) 'displacement high order byte
- 240 POKE OFFSET1+1,BYTE
- 250 BYTE = RAMDISP - BYTE*256 'displacement low order byte
- 260 POKE OFFSET1,BYTE
- 270 PRINT "Disk parameter table copied to RAM"
- 280 SYSTEM
-